#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
#include <signal.h>
#include <time.h>
#include <sys/ipc.h>
#include <unistd.h>
#include <fcntl.h>
#include <math.h>

// Variables servidor
#define SRV_CFG_ARCH "../config/server_cfg"

// Variables cliente
#define CLI_CFG_ARCH "../config/client_cfg"
#define ESFERA 330				// Jugador
#define ESFERA_SELEC 331
#define CUBO 340				// Contrincante
#define CUBO_SELEC 341			
#define CAMBIO 10				// Movimiento de pieza
#define ADD 11					// Adición de pieza

// Variables SDL
#define WIDTH 800
#define HEIGHT 600
#define BPP 24
#define GRID_POSX 140
#define GRID_POSY 120
#define ANCHO_ITEM 100

// Variables de entrada de datos


////////// Typedefs //////////

// Matrices y vectores propios del juego
typedef struct 
{	
	short int matriz[3][3];
	char nombre[30]; 
}t_scr;

// Estructura para crear hilos de cliente
typedef struct
{
	int numJugador;
	int sock;
}s_hilocliente;

// Estructura para configuración
typedef struct
{
	int puerto;					// Puerto
	char ip_srv[30];			// IP Server
	short int cant_partidas;
}s_config;

// Comunicación entre pantalla y teclado (provisoria)
typedef struct
{
	short int posx;
	short int posy;
	short int status;
	//short int new_posx;
	//short int new_posy;
}s_mov;
